Beispiel für die Verwendung des "OnBeforePrint"-Ereignisses
Beispiel für die Verwendung des "OnBeforePrint"-Ereignisses
Um dieses Ereignis zu demonstrieren, erstellen Sie einen Bericht, der eine Liste von Kunden darstellt. Dieser Bericht wird nur die Unternehmen enthalten, deren Name mit dem Buchstaben "A" beginnt.
Erstellen wir ein neues Projekt, platzieren Sie die Komponente "TfrxDlDBTable" auf dem Formular und setzen Sie diese Eigenschaften:
Benutzername = 'Subjects'
Öffnen Sie den Berichtsgestalter und erstellen Sie einen Bericht wie diesen:

Wählen Sie das Datenband aus und wechseln Sie zur Registerkarte „Ereignisse“ im Objektinspektor:

Um einen „OnBeforePrint“-Ereignishandler (der für uns am geeignetsten ist) zu erstellen, doppelklicken Sie auf das leere Feld rechts neben dem Namen des Ereignisses:

Dies fügt dem Skript einen leeren Handler hinzu und der Designer wechselt zur Registerkarte „Code“.

Alles, was jetzt benötigt wird, ist, den folgenden Code in den Körper des Handlers einzugeben:
if Kopieren(<Subjects."acSubject">, 1, 1) = 'A' then
MasterData1.Visible := True
else
MasterData1.Visible := False;
Führen Sie den Bericht aus und stellen Sie sicher, dass das Skript korrekt funktioniert:

Erklären wir mehrere Dinge. Ein Handler kann den Ereignissen von mehr als einem Objekt zugewiesen werden - der „Sender“-Parameter zeigt an, welches Objekt das Ereignis ausgelöst hat. Um einen vorhandenen Handler einem Ereignis zuzuweisen, geben Sie ihn entweder direkt in den Objektinspektor ein oder wählen Sie ihn aus der Dropdown-Liste aus:
Ein Link zu einem Handler kann leicht gelöscht werden - wählen Sie den zugewiesenen Handler im Objektinspektor aus und drücken Sie die „Entf“-Taste.
 |
Wenn der Ereignishandler gelöscht wird, bleibt der Code weiterhin im Bericht, wird jedoch nicht verwendet. Wenn nur der Ereignishandler bleibt, wird auch kein Code ausgeführt und es tritt kein Fehler auf.
|